package recursion;

import java.io.File;

/*
需求：打印一个目录下的所有内容
String[] list()
File[] listFiles()
 */
public class Demo03 {
    public static void main(String[] args) {
        printDir(new File("Day22/美女"));

    }
    /**
     *
     * @param dir  参数定义为File类型代表我们将来可以调用File类中方法来处理这个问题
     */
    public static void printDir(File dir) {
        //1.获取当前目录下的内容
        File[] files = dir.listFiles();
        //2.遍历files数组，输出文件和文件夹
        for (File f : files) {
            //如果当前遍历到的是文件
            if(f.isFile()) {
                System.out.println(f);
            }else {
                System.out.println(f);
                printDir(f);//由于接下来动作是调用isFiles()获取文件下的内容，然后遍历这个File[]，这个逻辑跟我们的printDie(File die)
                            //逻辑重复，所以我们可以利用递归的思想重复调用pprintDir(File dir)简化代码
            }
        }
    }
}
